package io.ukoko.mapper;

import io.ukoko.entity.Book;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 操作book表的接口
 */
@Mapper
public interface BookMapper {

    /**
     * 添加图书
     */
    void addBook(Book book);

    /**
     * 删除图书(单个)
     */
    void deleteBookByBookId(Integer bookId);

    /**
     * 删除图书(批量)
     */
    void batchDeleteBook(List<Integer> bookIds);
    /**
     * 更新图书
     */
    void updateBook(Book book);
    /**
     * 查询图书(多条件查询) 图书名称/图书分类/图书状态/图书上传时间范围
     */
    List<Book> getBooksByParams(@Param("bookName") String bookName,
                                @Param("categoryId") Integer categoryId,
                                @Param("status") Integer status,
                                @Param("start") Date start,
                                @Param("end")  Date end);
}
